package com.softeem.score.manager.service;

import com.github.pagehelper.PageInfo;
import com.softeem.score.model.dto.CourseDto;
import com.softeem.score.model.dto.GradeComponentDto;
import com.softeem.score.model.vo.educational.CourseVo;
import com.softeem.score.model.vo.educational.GradeCompontWeightVo;
import com.softeem.score.model.vo.educational.SchedulesVo;
import com.softeem.score.model.vo.school.MapVo;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author zhu
 * @since 2024-02-14
 */
public interface CourseService {

    PageInfo<CourseVo> findByPage(CourseDto courseDto, Integer pageNum, Integer pageSize);

    List<MapVo> findAllCourse();

    List<MapVo> findCourseById(List<Long> courseIdList);

    void saveCourse(CourseVo courseVo);

    boolean deleteById(Long courseId);

    void updateCourse(CourseVo courseVo);

    List<MapVo> findAllGradeComponents();

    void updateGradeComponentsWeight(GradeComponentDto gradeComponentDto);

    List<GradeCompontWeightVo> selectGradeComponentByCourseId(Long courseId);


    List<MapVo> findByCollegeId(Long collegeId, Integer category, Integer nature);

    List<MapVo> findCourseByCollegeId(Long collegeId);

    List<SchedulesVo> findSchedulesByclassId(Long classesId);

    List<MapVo> findTeacherByCourseId(Long courseId);

    List<CourseVo> FindAllTeacherCoursesByTeacherCode(String teacherCode);

    List<SchedulesVo> findSchedulesByStudentNumber(String studentNumber);
}
